#pragma once
#include "BaseTask.h"
#include "protocol.h"
#include <string>

class TcpConnection;

/**
 * @brief 聊天消息处理任务
 * 
 * 功能：
 * - 接收用户发送的聊天消息
 * - 转发消息给在线的接收者
 * - 保存消息到数据库（用于历史记录和离线消息）
 */
class ChatMessageTask : public BaseTask
{
public:
    ChatMessageTask(TcpConnection* conn, const std::string& jsonBody);
    ~ChatMessageTask() = default;
    
    void work(void* arg) override;
    
private:
    TcpConnection* m_conn;
    std::string m_jsonBody;
};

